<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <!-- 
    for debugging
    -->

  <xsl:template match="/">
    <xsl:message terminate="yes">
      <xsl:apply-templates/>
    </xsl:message>
  </xsl:template>

  <xsl:template match="*">
    <xsl:text>&#x0A;&lt;</xsl:text>
    <xsl:value-of select="name()"/>
    <xsl:apply-templates select="@*"/>
    <xsl:text>&gt;</xsl:text>
    <xsl:apply-templates/>
    <xsl:text>&#x0A;&lt;/</xsl:text>
    <xsl:value-of select="name()"/>
    <xsl:text>&gt;</xsl:text>
  </xsl:template>

  <xsl:template match="@*">
    <xsl:text> </xsl:text>
    <xsl:value-of select="name()"/>
    <xsl:text>="</xsl:text>
    <xsl:value-of select="."/>
    <xsl:text>"</xsl:text>
  </xsl:template>

  <xsl:template match="processing-instruction()">
    <xsl:text>&#x0A;&lt;?</xsl:text>
    <xsl:value-of select="name()"/>
    <xsl:text> </xsl:text>
    <xsl:value-of select="."/>
    <xsl:text> ?&gt;</xsl:text>
  </xsl:template>

  <xsl:template match="comment()">
    <xsl:text>&#x0A;&lt;!--</xsl:text>
    <xsl:value-of select="."/>
    <xsl:text>--&gt;</xsl:text>
  </xsl:template>

</xsl:stylesheet>
